package com.cencat.merchant.entity;

import com.baomidou.mybatisplus.annotation.*;
import com.cencat.common.entity.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 商家实体类
 * @author cencat
 * @since 2024-01-01
 */
@TableName("biz_merchant")
@Data
@EqualsAndHashCode(callSuper = false)
public class Merchant extends BaseEntity {

    /**
     * 商家ID
     */
    @TableId(type = IdType.AUTO)
    private Long id;

    /**
     * 租户ID
     */
    @TableField("tenant_id")
    private Long tenantId;

    /**
     * 商家编码
     */
    @TableField("merchant_code")
    private String merchantCode;

    /**
     * 商家名称
     */
    @TableField("merchant_name")
    private String merchantName;

    /**
     * 商家简称
     */
    @TableField("short_name")
    private String shortName;

    /**
     * 商家类型
     */
    @TableField("merchant_type")
    private String merchantType;

    /**
     * 商家等级
     */
    @TableField("merchant_level")
    private Integer merchantLevel;

    /**
     * 商家状态
     */
    @TableField("status")
    private Integer status;

    /**
     * 联系人
     */
    @TableField("contact_person")
    private String contactPerson;

    /**
     * 联系电话
     */
    @TableField("contact_phone")
    private String contactPhone;

    /**
     * 联系邮箱
     */
    @TableField("contact_email")
    private String contactEmail;

    /**
     * 详细地址
     */
    @TableField("address")
    private String address;

    /**
     * 经度
     */
    @TableField("longitude")
    private BigDecimal longitude;

    /**
     * 纬度
     */
    @TableField("latitude")
    private BigDecimal latitude;

    /**
     * 营业执照号
     */
    @TableField("business_license")
    private String businessLicense;

    /**
     * 执照图片
     */
    @TableField("license_image")
    private String licenseImage;

    /**
     * 法人代表
     */
    @TableField("legal_person")
    private String legalPerson;

    /**
     * 法人身份证
     */
    @TableField("legal_id_card")
    private String legalIdCard;

    /**
     * 银行账户
     */
    @TableField("bank_account")
    private String bankAccount;

    /**
     * 银行名称
     */
    @TableField("bank_name")
    private String bankName;

    /**
     * 银行地址
     */
    @TableField("bank_address")
    private String bankAddress;

    /**
     * 审核状态
     */
    @TableField("audit_status")
    private String auditStatus;

    /**
     * 审核备注
     */
    @TableField("audit_remark")
    private String auditRemark;

    /**
     * 审核时间
     */
    @TableField("audit_time")
    private LocalDateTime auditTime;

    /**
     * 审核人ID
     */
    @TableField("auditor_id")
    private Long auditorId;

    /**
     * 备注
     */
    @TableField("remark")
    private String remark;

    /**
     * 排序
     */
    @TableField("sort_order")
    private Integer sortOrder;
}